/*
* 
* Fichier source projet intel Acceler8 sous license GNU GPL v3.
* Voir http://www.gnu.org/copyleft/gpl.html pour plus d'informations
* La license est egalement disponible dans le repertoire /doc
* 
* Cree le : mercredi 02 novembre 2011 à 15 : 31.
* Auteurs : Axel MOINET et Arnaud DURAND.
* 
* Nom de fichier : addToPtab.cpp
* Chemin du fichier : src/classes/addToPtab/addToPtab.cpp
* 
* Description : Classe d'implementation d'ajout au tableau de sommes de prefixes
* 		Suit le filtre de calcul de ligne en valeurs de int
* 		Dernier filtre du pipeline de lecture du fichier
* 
*/

#include "addToPtab.h"
#include <iostream>

using namespace std;

addToPtab::addToPtab() : filter(serial_in_order) {
	this->Ptab = NULL;
	//Lancer une exception de type null pointer exception
}

addToPtab::addToPtab(tableauSommePrefixes *p_Ptab) : filter(serial_in_order) {
	if(p_Ptab != NULL)
		this->Ptab = p_Ptab;
	else {
		this->Ptab = NULL;
		//Lancer une exception
	}
}

addToPtab::~addToPtab(){

}

void* addToPtab::operator ()(void *p_calculatedLine) {
	//Inserer le calcul du tableau de sommes de prefixes ici

	concurrent_vector<int> *calculatedLine = static_cast<concurrent_vector<int>* >(p_calculatedLine);

	//Test : affichage du tableau de lignes calculees
	for(int i=0; i<calculatedLine->size(); i++) {
		cout << (*calculatedLine)[i] << endl;
	}

	delete p_calculatedLine;
	return NULL;
}
